100
I have a picture on the control's background, the question is how do I draw selection as semi-transparent

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:SelBackMode := 1/*exTransparent*/
		oList:Columns():Add("Column")
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
99
It seems that the control uses the TAB key, is there any way to avoid that
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:UseTabKey := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
98
How do I assign a database to your control, using ADO, ADOR or ADODB objects

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList
	LOCAL rs

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ColumnAutoResize := .F.
		oList:ContinueColumnScroll := .F.
		rs := CreateObject("ADOR.Recordset")
			rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExList\Sample\Access\SAMPLE.ACCDB",3/*adOpenStatic*/,3/*adLockOptimistic*/)
		oList:DataSource := rs

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
97
How do I change the visual appearance effect for the selected item, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("SelBackColor",0x1000000)
		oList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oList:ShowFocusRect := .F.
		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
96
How do I change the colors for the selected item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
95
How do I get ride of the rectangle arround focused item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ShowFocusRect := .F.
		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:Items():Add(1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
94
How can I change the control's font

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Font():Name := "Tahoma"
		oList:Columns():Add("Column")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
93
I can't scroll to the end of the data. What can I do

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems,oItems1,oItems2,oItems3
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ScrollBySingleLine := .T.
		oList:DrawGridLines := -1/*exAllLines*/
		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:SetProperty("ItemHeight",oItems:Add(0),13)
		oList:PutItems(oList:GetItems(0))
		oItems1 := oList:Items()
			oItems1:SetProperty("ItemHeight",oItems1:Add(1),26)
		oList:PutItems(oList:GetItems(0))
		oItems2 := oList:Items()
			oItems2:SetProperty("ItemHeight",oItems2:Add(2),36)
		oList:PutItems(oList:GetItems(0))
		oItems3 := oList:Items()
			oItems3:SetProperty("ItemHeight",oItems3:Add(3),48)
		oList:PutItems(oList:GetItems(0))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
92
Is there any option to select an item using the right button of the mouse (rclick)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:RClickSelect := .T.
		oList:Columns():Add("Column")
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
91
How do I edit a cell

PROCEDURE OnAfterCellEdit(oList,ItemIndex,ColIndex,NewCaption)
	oList:Items():SetProperty("Caption",ItemIndex,ColIndex,NewCaption)
RETURN

PROCEDURE OnCancelCellEdit(oList,ItemIndex,ColIndex,Reserved)
	oList:Items():SetProperty("Caption",ItemIndex,ColIndex,Reserved)
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:AfterCellEdit := {|ItemIndex,ColIndex,NewCaption| OnAfterCellEdit(oList,ItemIndex,ColIndex,NewCaption)} /*Occurs after data in the current cell is edited.*/
		oList:CancelCellEdit := {|ItemIndex,ColIndex,Reserved| OnCancelCellEdit(oList,ItemIndex,ColIndex,Reserved)} /*Occurs if the edit operation is canceled.*/

		oList:AllowEdit := .T.
		oList:Columns():Add("Column")
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
90
I have FullRowSelect property on False, how do I select a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SelectColumnIndex := 1
		oList:FullRowSelect := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
89
How can I scroll columns one by one, not pixel by pixel
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ContinueColumnScroll := .F.
		oList:ColumnAutoResize := .F.
		oList:Columns():Add("1"):Width := 128
		oList:Columns():Add("2"):Width := 128
		oList:Columns():Add("3"):Width := 128
		oList:Columns():Add("4"):Width := 128
		oList:Columns():Add("5"):Width := 128

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
88
How can I enable multiple items selection

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SingleSel := .F.
		oList:Columns():Add("Column")
		oList:Items():Add(0)
		oList:Items():Add(1)
		oList:Items():Add(2)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
87
How can I programmatically change the column where incremental searching is performed

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1")
		oList:Columns():Add("Column 2")
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("Item 1"),1,"SubItem 1")
		oList:SearchColumnIndex := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
86
How do I disable the full-row selection in the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumns
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:FullRowSelect := .F.
		oColumns := oList:Columns()
			oColumns:Add("C1")
			oColumns:Add("C2")
			oColumns:Add("C3")
			oColumns:Item(0):Position := 1
		oItems := oList:Items()
			oItems:Add("One")
			oItems:Add("Two")
			oItems:Add("Three")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
85
Is there any option to specify the height of the items, before adding them

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:DefaultItemHeight := 32
		oList:Columns():Add("Column")
		oList:Items():Add("One")
		oList:Items():Add("Two")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
84
How do lock / fix some columns to the control, so I can see them all the time, event if I scroll the columns

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:CountLockedColumns := 1
		oList:SetProperty("BackColorLock",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oList:ColumnAutoResize := .F.
		oList:Columns():Add("Locked"):Width := 128
		oList:Columns():Add("Un-Locked 1"):Width := 128
		oList:Columns():Add("Un-Locked 2"):Width := 128
		oList:Columns():Add("Un-Locked 3"):Width := 128
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("locked"),1,"unlocked")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
83
How do I change the control's background / foreground color on the locked area

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:CountLockedColumns := 1
		oList:SetProperty("ForeColorLock",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oList:SetProperty("BackColorLock",AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
		oList:ColumnAutoResize := .F.
		oList:Columns():Add("Locked"):Width := 128
		oList:Columns():Add("Un-Locked 1"):Width := 128
		oList:Columns():Add("Un-Locked 2"):Width := 128
		oList:Columns():Add("Un-Locked 3"):Width := 128
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("locked"),1,"unlocked")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
82
How do I change the control's foreground color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 120,120,120 } )  , .F. ))
		oList:Columns():Add("Column")
		oList:Items():Add("item")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
81
How do I change the control's background color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 200,200,200 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
80
How do I use my own icons for my radio buttons

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oList:SetProperty("RadioImage",.F.,1)
		oList:SetProperty("RadioImage",.T.,2)
		oList:Columns():Add("Radio"):SetProperty("Def",1/*exCellHasRadioButton*/,.T.)
		oItems := oList:Items()
			oItems:Add("Radio 1")
			oItems:SetProperty("CellState",oItems:Add("Radio 2"),0,1)
			oItems:Add("Radio 3")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
79
How do I use my own icons for checkbox cells

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oList:SetProperty("CheckImage",0/*Unchecked*/,1)
		oList:SetProperty("CheckImage",1/*Checked*/,2)
		oList:Columns():Add("Check"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
		oItems := oList:Items()
			oItems:Add("Check 1")
			oItems:SetProperty("CellState",oItems:Add("Check 2"),0,1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
78
How do I perform my own sorting when user clicks the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortOnClick := 1/*exUserSort*/
		oList:Columns():Add("Column")
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
77
How do I disable sorting a specified column when clicking its header
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("1")
		oList:Columns():Add("NoSort"):AllowSort := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
76
How do I disable sorting the columns when clicking the control's header
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SortOnClick := 0/*exNoSort*/
		oList:Columns():Add("1")
		oList:Columns():Add("2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
75
How do I put a picture on the center of the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 17/*MiddleCenter*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
74
How do I resize/stretch a picture on the control's background

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 49/*Stretch*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
73
How do I put a picture on the control's center right bottom side

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 34/*LowerRight*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
72
How do I put a picture on the control's center left bottom side

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 32/*LowerLeft*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
71
How do I put a picture on the control's center top side

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 1/*UpperCenter*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
70
How do I put a picture on the control's right top corner

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 2/*UpperRight*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
69
How do I put a picture on the control's left top corner

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oList:PictureDisplay := 0/*UpperLeft*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
68
How do I put a picture on the control's background

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Picture := oList:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
67
How do I sort descending a column, and put the sorting icon in the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:Add("Item 1")
			oItems:Add("Item 2")
			oItems:Add("Item 3")
		oList:Columns:Item(0):SortOrder := 2/*SortDescending*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
66
How do I sort ascending a column, and put the sorting icon in the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column")
		oItems := oList:Items()
			oItems:Add("Item 3")
			oItems:Add("Item 1")
			oItems:Add("Item 2")
		oList:Columns:Item(0):SortOrder := 1/*SortAscending*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
65
How do I perform my own/custom sort, using my extra numbers

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("desc"):SortType := 5/*SortUserData*/
		oItems := oList:Items()
			oItems:SetProperty("CellData",oItems:Add(0),0,2)
			oItems:SetProperty("CellData",oItems:Add(1),0,1)
			oItems:SetProperty("CellData",oItems:Add(2),0,0)
			oItems:Sort(0,.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
64
By default, the column gets sorted as strings, so how do I sort a column by time only

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("desc"):SortType := 4/*SortTime*/
		oItems := oList:Items()
			oItems:Add("11:00")
			oItems:Add("10:10")
			oItems:Add("12:12")
			oItems:Sort(0,.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
63
By default, the column gets sorted as strings, so how do I sort a column by date and time

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("desc"):SortType := 3/*SortDateTime*/
		oItems := oList:Items()
			oItems:Add("1/1/2001 11:00")
			oItems:Add("1/1/2001 10:10")
			oItems:Add("1/3/2003")
			oItems:Sort(0,.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
62
By default, the column gets sorted as strings, so how do I sort a column by dates

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("desc"):SortType := 2/*SortDate*/
		oItems := oList:Items()
			oItems:Add("1/1/2001")
			oItems:Add("1/2/2002")
			oItems:Add("1/3/2003")
			oItems:Sort(0,.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
61
How do I sort a column by numbers

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("desc"):SortType := 1/*SortNumeric*/
		oItems := oList:Items()
			oItems:Add(1)
			oItems:Add(5)
			oItems:Add(10)
			oItems:Sort(0,.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
60
How do I hide the control's header bar
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:HeaderVisible := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
59
How do change the visual appearance for the control's header bar, using EBN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oList:SetProperty("BackColorHeader",0x1000000)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
58
How do I remove the control's border
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Appearance := 0/*None2*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
57
How can I get ride/hide of the "Filter For" field

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterPattern := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
56
How do I filter for items that match exactly the specified string

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 240/*exFilter*/
			oColumn:Filter := "Item 1"
		oList:Items():Add("Item 1")
		oList:Items():Add("Item 2")
		oList:Items():Add("Item 3")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
55
How can I can I programmatically filter for items with a specified icon assigned

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 10/*exImage*/
			oColumn:Filter := Transform(1,"")
		oItems := oList:Items()
			oItems:SetProperty("CellImage",oItems:Add("Image 1"),0,1)
			oItems:SetProperty("CellImage",oItems:Add("Image 1"),0,1)
			oItems:SetProperty("CellImage",oItems:Add("Image 2"),0,2)
			oItems:SetProperty("CellImage",oItems:Add("Image 3"),0,3)
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
54
How can I can I programmatically filter the checked items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 6/*exCheck*/
			oColumn:Filter := Transform(0,"")
		oList:Items():Add(0)
		oItems := oList:Items()
			oItems:SetProperty("CellState",oItems:Add(1),0,1)
		oList:Items():Add(2)
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
53
How can I can I filter programmatically the items based on some numerichal rules

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 5/*exNumeric*/
			oColumn:Filter := "> 0 <= 1"
		oList:Items():Add(0)
		oList:Items():Add(1)
		oList:Items():Add(2)
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
52
How can I can I filter programmatically the items based on a range/interval of dates

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
			oColumn:FilterType := 4/*exDate*/
			oColumn:Filter := "1/1/2001 to 1/1/2002"
		oList:Items():Add("1/1/2001")
		oList:Items():Add("2/1/2002")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
51
How can I can I filter programmatically given a specified pattern using wild characters like * or

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 3/*exPattern*/
			oColumn:Filter := "0*"
		oList:Items():Add(0)
		oList:Items():Add("00")
		oList:Items():Add(1)
		oList:Items():Add("11")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
50
How can I can I select programmatically "Blanks/NonBlanks" option in the column's drop down filter

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
49
How can I display the column's filter

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add(""):DisplayFilterButton := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
48
How can I show only the vertical scroll bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ColumnAutoResize := .T.
		oList:ScrollBars := 10/*DisableNoVertical*/
		oList:Columns():Add(Transform(1,""))
		oList:Columns():Add(Transform(2,""))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
47
How can I change the "IsChecked/IsUnchecked" caption in the control's filter bar, when I filter for checked items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 6/*exCheck*/
			oColumn:Filter := Transform(0,"")
		oList:SetProperty("Description",21/*exFilterBarIsChecked*/,"Check_On")
		oList:SetProperty("Description",22/*exFilterBarIsUnchecked*/,"Check_Off")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
46
How can I change the "Checked" caption in the drop down filter window, when I filter for checked items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 6/*exCheck*/
		oList:SetProperty("Description",19/*exFilterBarChecked*/,"with check on")
		oList:SetProperty("Description",20/*exFilterBarUnchecked*/,"with check off")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
45
How can I change the name of the week days in the drop down calendar window, being displayed when I filter items between dates

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
		oList:SetProperty("Description",18/*exFilterBarDateWeekDays*/,"Du Lu Ma Mi Jo Vi Si")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
44
How can I change the name of the months in the drop down calendar window, being displayed when I filter items between dates

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
		oList:SetProperty("Description",17/*exFilterBarDateMonths*/,"Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
43
Can I change the "Today" caption being displayed in the drop down calendar, when I filter for dates

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
		oList:SetProperty("Description",16/*exFilterBarDateTodayCaption*/,"Azi")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
42
The drop down filter window displays a "to" string between two datem when I filter dates. Can I change that

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
		oList:SetProperty("Description",13/*exFilterBarDateTo*/,"->")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
41
How can I filter the items that are between an interval/range of dates

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
40
Can I change the "Date:" caption when the column's drop down filter window is shown

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:DisplayFilterDate := .T.
		oList:SetProperty("Description",12/*exFilterBarDate*/,"Range")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
39
Can I filter for values using OR - NOT , instead AND operator

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn,oColumn1,oColumn2
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column 1")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oColumn1 := oList:Columns():Add("Column 2")
			oColumn1:DisplayFilterButton := .T.
			oColumn1:FilterType := 1/*exBlanks*/
		oColumn2 := oList:Columns():Add("Column 3")
			oColumn2:DisplayFilterButton := .T.
			oColumn2:FilterType := 1/*exBlanks*/
		oList:FilterCriteria := "%0 or not %1 and %2"
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
38
Can I change the NOT string in the filter bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn,oColumn1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column 1")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oColumn1 := oList:Columns():Add("Column 2")
			oColumn1:DisplayFilterButton := .T.
			oColumn1:FilterType := 2/*exNonBlanks*/
		oList:FilterCriteria := "not %0 or %1"
		oList:SetProperty("Description",24/*exFilterBarNot*/," ! ")
		oList:SetProperty("Description",10/*exFilterBarIsNonBlank*/," ! IsBlank")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
37
Can I change the OR string in the filter bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn,oColumn1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column 1")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oColumn1 := oList:Columns():Add("Column 2")
			oColumn1:DisplayFilterButton := .T.
			oColumn1:FilterType := 2/*exNonBlanks*/
		oList:FilterCriteria := "%0 or %1"
		oList:SetProperty("Description",23/*exFilterBarOr*/," | ")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
36
Can I change the AND string in the filter bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn,oColumn1
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column 1")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oColumn1 := oList:Columns():Add("Column 2")
			oColumn1:DisplayFilterButton := .T.
			oColumn1:FilterType := 2/*exNonBlanks*/
		oList:SetProperty("Description",11/*exFilterBarAnd*/," & ")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
35
The "IsBlank" caption shown in the control's filterbar when I select "Blanks" or "NonBlanks" items in the column's drop down filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumn := oList:Columns():Add("Column")
			oColumn:DisplayFilterButton := .T.
			oColumn:FilterType := 1/*exBlanks*/
		oList:SetProperty("Description",9/*exFilterBarIsBlank*/,"Is Empty")
		oList:SetProperty("Description",10/*exFilterBarIsNonBlank*/,"Is Not Empty")
		oList:ApplyFilter()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
34
Is there any option to remove the tooltip when the cursor hovers the column's drop down filter window
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column"):DisplayFilterButton := .T.
		oList:SetProperty("Description",4/*exFilterBarFilterTitle*/,"")
		oList:SetProperty("Description",5/*exFilterBarPatternFilterTitle*/,"")
		oList:SetProperty("Description",6/*exFilterBarTooltip*/,"")
		oList:SetProperty("Description",7/*exFilterBarPatternTooltip*/,"")
		oList:SetProperty("Description",8/*exFilterBarFilterForTooltip*/,"")
		oList:SetProperty("Description",14/*exFilterBarDateTooltip*/,"")
		oList:SetProperty("Description",15/*exFilterBarDateTitle*/,"")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
33
How can I change the "Filter For" caption in the column's drop down filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column"):DisplayFilterButton := .T.
		oList:SetProperty("Description",3/*exFilterBarFilterForCaption*/,"new caption")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
32
Can I remove the "All", "Blanks" and "NonBlanks" items in the drop down filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column"):DisplayFilterButton := .T.
		oList:SetProperty("Description",0/*exFilterBarAll*/,"")
		oList:SetProperty("Description",1/*exFilterBarBlanks*/,"")
		oList:SetProperty("Description",2/*exFilterBarNonBlanks*/,"")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
31
How do I change the "All", "Blanks" or/and "NonBlanks" caption in the drop down filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column"):DisplayFilterButton := .T.
		oList:SetProperty("Description",0/*exFilterBarAll*/,"new name for (All)")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
30
How can I change the position of the column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1")
		oList:Columns():Add("Column 2"):Position := 0

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
29
Can I make strikeout the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HeaderStrikeOut := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
28
How can I apply an strikeout font only a portion of the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HTMLCaption := "<s>Col</s>umn 1"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
27
How can I get underlined only a portion of column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HTMLCaption := "<u>Col</u>umn 1"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26
How can I underline the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HeaderUnderline := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25
How can I apply an italic font only a portion of the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HTMLCaption := "<i>Col</i>umn 1"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24
Is there any option to make italic the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HeaderItalic := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23
How can I bold only a portion of the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HTMLCaption := "<b>Col</b>umn 1"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22
Is there any option to bold the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):HeaderBold := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21
Is there any option to change the color for the grid lines

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("")
		oList:DrawGridLines := -1/*exAllLines*/
		oList:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20
Can I change the font to display the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:HeaderHeight := 34
		oList:Columns():Add("Column 1"):HTMLCaption := "<font Tahoma;14>Column</font> 1"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19
Can I change the height of the header bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:HeaderHeight := 32

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18
Can I display multiple icons to the column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oList:Columns():Add("Column 1"):HTMLCaption := "1<img>1</img> 2 <img>2</img>..."

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17
How can I show the control's grid lines

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:MarkSearchColumn := .F.
		oList:DrawGridLines := -1/*exAllLines*/
		oList:Columns():Add("Column 1")
		oList:Columns():Add("Column 2")
		oList:Items():Add(0)
		oList:Items():Add(1)
		oList:Items():Add(2)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16
How can I assign a different background color for the entire column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:MarkSearchColumn := .F.
		oList:Columns():Add("Column 1"):SetProperty("Def",4/*exCellBackColor*/,255)
		oList:Columns():Add("Column 2")
		oList:Items():Add(0)
		oList:Items():Add(1)
		oList:Items():Add(2)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15
How can I assign a check box for a cell

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1")
		oItems := oList:Items()
			oItems:Add(0)
			oItems:SetProperty("CellHasCheckBox",oItems:Add(1),0,.T.)
			oItems:Add(2)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14
How can I assign checkboxes for the entire column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Column 1"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
		oList:Items():Add(0)
		oList:Items():Add(1)
		oList:Items():Add(2)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13
How can I show both scrollbars

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ScrollBars := 15/*DisableBoth*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12
How can I change the column's width

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:ColumnAutoResize := .F.
		oList:Columns():Add("Column 1"):Width := 64
		oList:Columns():Add("Column 2"):Width := 128

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11
How can I show or hide a column
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Hidden"):Visible := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10
How can I hide the searching column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:MarkSearchColumn := .F.
		oList:Columns():Add("Column 1")
		oList:Columns():Add("Column 2")
		oList:Items():Add()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9
Can I disable sorting a column, when the user clicks the column's header, or drag it to the sort bar
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Unsortable"):AllowSort := .F.
		oList:Columns():Add("Sortable")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8
Is there any option to align the header to the left and the data to the right

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oItems
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("Left"):Alignment := 0/*LeftAlignment*/
		oColumn := oList:Columns():Add("Right")
			oColumn:Alignment := 2/*RightAlignment*/
			oColumn:HeaderAlignment := 2/*RightAlignment*/
		oItems := oList:Items()
			oItems:SetProperty("Caption",oItems:Add("left"),1,"right")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7
Can I displays a custom size picture to column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oList:HeaderHeight := 48
		oList:Columns():Add("ColumnName"):HTMLCaption := "<b>HTML</b> Column <img>pic1</img> Picture"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6
How can I insert an icon to column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oList:Columns():Add("ColumnName"):HTMLCaption := "<b>HTML</b> Column <img>1</img> Icon"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5
How can I insert an icon to column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oList:Columns():Add("ColumnName"):HeaderImage := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4
How can I use HTML format in column's header

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("ColumnName"):HTMLCaption := "<b>HTML</b> <fgcolor=0000FF>Col</fgcolor>umn"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3
How can I change/rename the column's name

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("ColumnName"):Caption := "NewName"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2
How can I add multiple columns

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumns
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oColumns := oList:Columns()
			oColumns:Add("Column 1")
			oColumns:Add("Column 2")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1
How can I add a new column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oList

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oList := XbpActiveXControl():new( oForm:drawingArea )
	oList:CLSID  := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/
	oList:create(,, {10,60},{610,370} )

		oList:Columns():Add("ColumnName")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN